<template>
  <div class="progress-circle">
    <svg :width="radius" :height="radius" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg">
      <circle class="progress-background" r="46" cx="50" cy="50" fill="transparent"/>
      <circle class="progress-bar" r="46" cx="50" cy="50" fill="transparent" :stroke-dasharray="dashArray"
              :stroke-dashoffset="dashOffset"/>
    </svg>
    <slot></slot>
  </div>
</template>

<script type="text/ecmascript-6">
  export default {
    props: {
      radius: {
        type: Number,
        default: 100
      },
      percent: {
        type: Number,
        default: 0
      }
    },
    data() {
      return {
        dashArray: Math.PI * 100
      }
    },
    computed: {
      dashOffset() {
        return (1 - this.percent) * this.dashArray
      }
    }
  }
</script>

<style rel="stylesheet/scss" lang="scss" scoped="">
  @import "~common/scss/const";

  .progress-circle {
    position: relative;
    height: 30px;
    svg{
      position: absolute;
      left: 0;
      top: 0;
      circle {
        position: absolute;
        left: 0;
        top: 0;
        stroke-width: 8px;
        &.progress-background {
          stroke: $color-theme-d;
        }
        &.progress-bar {
          transform-origin: center;
          transform: rotate(-90deg);
          stroke: $color-theme;
        }
      }
    }
  }
</style>
